home *** CD-ROM | disk | FTP | other *** search
- .title fcsdir return fcs/dir error text into 64 byte array
-
- .ident /82.1.2/
- ;
- ;
- ; edits: BDN 09-Dec-83 21:03 Change FCSERR psect to I space
- ; since it will be in an overlay
- ; EJR 29-Dec-83 15:52 Changed from FCSERR to DIRERR
- ; changed from 2 to 3 digit error number
- ; BDN 08-Jan-84 13:40 RSX11M-PLUS data psects
- ; EJR 20-Jan-84 10:05 changed to both dir and fcs error
- ; BDN 23-Oct-85 10:00 Remove FCS only errors for Kermit
- ;
- ;
- ; usage: call fcsdir(errnum,errtxt)
- ;
- ; errtxt is returned .asciz
-
- .psect
-
- ; F C S D I R
- ;
- ; module size: 5200 (8) bytes ?
-
-
- direrr::
- fcsdir::mov r1 ,-(sp) ; save R1
- mov r2 ,-(sp) ; save R2
- mov R3 ,-(sp) ; save R3 ; ejr
- mov 4(r5) ,r2 ; get addr of return text
- mov #100 ,r1 ; clear returned text first
- 10$: movb #40 ,(r2)+ ; simple
- sob r1 ,10$ ; next please
- mov 4(r5) ,r2 ; dest for the text
- clrb @r2 ;
- mov @2(r5) ,r1 ; error number to return
- bgt 20$ ; > 0 ?
- neg r1 ; always insure error > 0
- 20$: mov r1 ,-(sp) ; save error number
- clr r0 ; and setup to convert to ascii
- div #10. ,r0 ; get the last digit ; ejr
- add #'0 ,r1 ; make it ascii ch[1] ; ejr
- mov R1 ,R3 ; save it ; ejr
- mov R0 ,R1 ; get the remainder ; ejr
- clr R0 ; set up to convert ; ejr
- div #10. ,R0 ; get the second digit ; ejr
- add #60 ,R1 ; make it ascii ch[2] ; ejr
- add #60 ,R0 ; make it ascii ch[3] ; ejr
- movb #40 ,(r2)+ ; errortext[1] := ' ';
- movb #'- ,(r2)+ ; errortext[2] := '-';
- movb r0 ,(r2)+ ; errortext[3] := ch[1] ;
- movb r1 ,(r2)+ ; errortext[4] := ch[2] ;
- movb r3 ,(r2)+ ; errortext[5] := ch[3] ;
- movb #40 ,(r2)+ ; errortext[6] := ' '
- clrb @r2
- mov (sp)+ ,r1 ; restore error number
- cmp r1 ,#127. ; range ok ?
- bgt 100$ ; no, just exit
- asl r1 ; convert to word offset
- mov msgtbl-2(r1),r1 ; get address of the text
- beq 100$ ; nothing (unused error)
- mov #100-6 ,r0 ; maximum number of characters to copy
- 30$: movb (r1)+ ,(r2)+ ; copy until null
- beq 100$ ;
- sob r0 ,30$ ; next please
- 100$: mov (SP)+ ,R3 ; restore R3 ; ejr
- mov (sp)+ ,r2 ; restore R2
- mov (sp)+ ,r1 ; and r1 also please
- return ; bye
-
-
- .psect direrr ,ro,d,lcl,rel,con
-
-
- msgtbl: .word 1$, 2$, 3$, 4$, 5$, 6$, 7$, 8$, 9$, 10$
- .word 11$, 12$, 13$, 14$, 15$, 16$, 17$, 18$, 19$, 20$
- .word 21$, 22$, 23$, 24$, 25$, 26$, 27$, 28$, 29$, 30$
- .word 31$, 32$, 33$, 34$, 35$, 36$, 37$, 38$, 39$, 40$
- .word 41$, 42$, 43$, 44$, 45$, 46$, 47$, 48$, 49$, 50$
- .word 51$, 52$, 53$, 54$, 55$, 56$, 57$, 58$, 59$, 60$
- .word 61$, 62$, 63$, 64$, 65$, 66$, 67$, 68$, 69$, 70$
- .word 71$, 72$, 73$, 74$, 75$, 76$, 77$, 78$, 79$, 80$
- .word 81$, 82$, 83$, 84$, 85$, 86$, 87$, 88$, 89$, 90$
- .word 91$, 92$, 93$, 94$, 95$, 96$, 97$, 98$, 99$,100$
- .word 101$,102$,103$,104$,105$,106$,107$,108$,109$,110$
- .word 111$,112$,113$,114$,115$,116$,117$,118$,119$,120$
- .word 121$,122$,123$,124$,125$,126$,127$
-
-
- .enabl lc
-
- 1$: .asciz \Bad parameters/Insufficient dynamic storage\
- 2$: .asciz \Invalid function code\
- 3$: .asciz \Device not ready\
- 4$: .asciz \Parity error/Insufficient dynamic storage for send\
- 5$: .asciz \Hardware option not present/Un-assigned LUN\
- 6$: .asciz \Illegal user buffer/Device handler not resident\
- 7$: .asciz \Device not attached/Task not active\
- 8$: .asciz \Device already attached\
- 9$: .asciz \Device not attachable\
- 10$: .asciz \End of file detected/Issuing task not checkpointable\
- 11$: .asciz \End of volume detected/Task is checkpointable\
- 12$: .asciz \Write attempted to locked unit\
- 13$: .asciz \Data overrun\
- 14$: .asciz \Send/receive failure\
- 15$: .asciz \Request terminated\
- 16$: .asciz \Privilege violation\
- 17$: .asciz \Sharable resource in use\
- 18$: .asciz \Illegal overlay request/No swap space available\
- 19$: .asciz \Odd byte count\
- 20$: .asciz \LBN too large\
- 21$: .asciz \Invalid UDC module #\
- 22$: .asciz \UDC connect error\
- 23$: .asciz \Caller's nodes exhausted\
- 24$: .asciz \Device full\
- 25$:
- 26$:
- 27$:
- 28$:
- 29$:
- 30$:
- 31$:
- 32$:
- 33$:
- 34$:
- 35$:
- 36$:
- 37$:
- 38$:
- 39$:
- 40$:
- 41$:
- 42$:
- 43$:
- 44$:
- 45$:
- 46$:
- 47$:
- 48$:
- 49$:
- 50$:
- 51$:
- 52$:
- 53$:
- 54$:
- 55$:
- 56$:
- 57$:
- 58$: .byte 0
- 59$: .asciz \Fatal hardware error\
- 60$:
- 61$:
- 62$:
- 63$:
- 64$:
- 65$: .asciz \device off line\
- 66$: .asciz \Block check, CRC, or framing error\
- 67$: .asciz \Device online\
- 68$: .asciz \No such node\
- 69$: .asciz \Path lost to partner\
- 70$: .asciz \Bad logical buffer\
- 71$: .byte 0
- 72$: .asciz \No dynamic space available\
- 73$:
- 74$:
- 75$:
- 76$:
- 77$: .byte 0
- 78$: .asciz \No data available\
- 79$: .asciz \Task not linked to ICS/ICR\
- 80$: .asciz \Task not installed\
- 81$: .asciz \Device offline/Illegal mapping specified\
- 82$: .asciz \Invalid escape sequence\
- 83$: .asciz \Partial escape sequence\
- 84$: .asciz \Alignment error\
- 85$: .asciz \Address window allocation overflow\
- 86$: .asciz \Invalid region ID\
- 87$: .asciz \Invalid address window ID\
- 88$: .asciz \Transfer rejected by receiving CPU/Invalid TI parameter\
- 89$: .asciz \EFN already specified/Invalid send buffer size ( > 255.)\
- 90$: .asciz \LUN locked in use\
- 91$: .asciz \Inconsistent qualifier usage/Invalid UIC\
- 92$: .asciz \Invalid device/unit or device not a terminal\
- 93$: .asciz \Invalid time parameters\
- 94$: .asciz \Not a network task/Partition/region not in system\
- 95$: .asciz \Timeout on request/Invalid priority ( .GT. 250.)\
- 96$: .asciz \Connection rejected/Invalid LUN\
- 97$: .asciz \Invalid event flag ( .GT. 64.)\
- 98$: .asciz \Part of DPB out of user's space\
- 99$: .asciz \DIC or DPB size invalid\
- 100$:
- 101$:
- 102$:
- 103$:
- 104$:
- 105$:
- 106$:
- 107$:
- 108$:
- 109$:
- 110$:
- 111$:
- 112$:
- 113$:
- 114$:
- 115$:
- 116$:
- 117$:
- 118$:
- 119$:
- 120$:
- 121$:
- 122$:
- 123$:
- 124$:
- 125$:
- 126$:
- 127$:
- 128$: .byte 0
-
- .even
-
- .end
-